package com.whfc.wxmp.api.emp.service;

import com.whfc.common.result.PageData;
import com.whfc.emp.dto.AppWarnEmpRecordDTO;
import com.whfc.emp.dto.AppWarnEmpRecordDetailDTO;
import com.whfc.emp.dto.AppWarnEmpRecordNumDTO;
import com.whfc.emp.dto.train.AppWxWarnEmpRecordNumDTO;
import com.whfc.emp.dto.train.AppWxWarnEmpRecordNumDTOV2;
import com.whfc.emp.param.AppWarnHandleParam;
import com.whfc.emp.service.AppEmpWarnService;
import com.whfc.fuum.entity.WxUser;
import org.apache.dubbo.config.annotation.DubboReference;

import java.util.Date;

/**
 * @author sun_guodong
 * @description
 * @date 2020-06-30
 */
public interface WxEmpWarnService {

    /**
     * 获取人员报警记录列表
     *
     * @param deptId
     * @param pageNum
     * @param pageSize
     * @param handleState
     * @return
     */
    PageData<AppWarnEmpRecordDTO> empWarnList(Integer deptId, Integer pageNum, Integer pageSize, Integer handleState,Integer ruleType,Date startDate,Date endDate);

    /**
     * 查询人员报警消息详情
     *
     * @param warnId
     * @return
     */
    AppWarnEmpRecordDetailDTO getEmpWarnDetail(Integer warnId);

    /**
     * 处理人员报警消息
     *
     * @param loginUser
     * @param body
     */
    void handleEmpWarn(WxUser loginUser, AppWarnHandleParam body);


    /**
     * 人员报警数量
     *
     * @param deptId
     * @param startTime
     * @param endTime
     * @return
     */
    AppWxWarnEmpRecordNumDTOV2 num(Integer deptId, Date startTime, Date endTime);
}
